package com.yc.cloud.admin.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 设备录像记录视图对象
 *
 * @author kinggu
 * @since 2025-01-03
 */
@Data
@Schema(description = "设备录像记录视图对象")
public class HwDeviceVideoRecordVo {

    @Schema(description = "记录ID")
    private Long id;

    @Schema(description = "设备ID")
    private Long deviceId;

    @Schema(description = "设备名称")
    private String deviceName;

    @Schema(description = "设备位置")
    private String deviceLocation;

    @Schema(description = "流ID")
    private String stream;

    @Schema(description = "录制开始时间")
    private LocalDateTime startTime;

    @Schema(description = "录制结束时间")
    private LocalDateTime endTime;

    @Schema(description = "录制时长(秒)")
    private Integer duration;

    @Schema(description = "录制时长(格式化)")
    private String durationFormatted;

    @Schema(description = "文件大小(字节)")
    private Long fileSize;

    @Schema(description = "文件大小(格式化)")
    private String fileSizeFormatted;

    @Schema(description = "原始文件路径")
    private String originalFilePath;

    @Schema(description = "文件ID")
    private String fileId;

    @Schema(description = "文件访问URL")
    private String fileUrl;

    @Schema(description = "缩略图URL")
    private String thumbnailUrl;

    @Schema(description = "摄像头ID")
    private Long cameraId;

    @Schema(description = "摄像头名称")
    private String cameraName;

    @Schema(description = "摄像头位置")
    private String cameraLocation;

    @Schema(description = "创建时间")
    private LocalDateTime createTime;

    @Schema(description = "更新时间")
    private LocalDateTime updateTime;

    @Schema(description = "创建者ID")
    private Long createBy;

    @Schema(description = "更新者ID")
    private Long updateBy;

    @Schema(description = "报警数量")
    private Long alarmCount;
}
